Dissertation Project

June 6th, 2024 20:35 PM



TLDR; My dissertation can be read here and the code is viewed here.
You can also test my e-voting tool here, and if you're a complete nerd the poster I did on e-voting as well here...

Back in January, I finished my Master's degree by submitting my final dissertation. It was quite the ride overall, and still recovering from burnout - but I recently got my results through and I wanted to publish a blog post about the project once it was all finalised. Firstly, I recommend not moving house (twice), changing jobs (twice), taking up new hobbies, procrastinating deadlines whilst overworking at your job...you get the idea. It was a busy end to 2023 for me, and it still hasn't sunk in the reality that it is all over. Overall though, I did manage to get the grade I was after (distinction!) and as the memory and trauma of midnight deadlines fade I begin to feel like it was all worth it. I learned so much during my time in my degree, my coding skills are much more improved and I managed to challenge myself beyond what I thought I was capable of.


Choosing a topic

Do: pick something you find interesting
Don't: overthink it, panic that your lecturer will judge you and leave it to when the module has already started...

It took me a while to settle on my topic. I am much better at being given a topic and getting on with it rather than selecting something. I wrote down a few rough ideas, and at one point consulted Chat GPT for things I could do. My first thought landed on Adult Social Care, but a wise uni-mate pointed out to me "You do that in your job all day you don't want to be doing it for your degree too." And she was right (thanks Alex). So I pivoted into a different area inspired by some of the discussion posts I had done in some earlier modules and that is to look at electronic voting.

What was then the tough part was coming up with something new and interesting around the topic. I needed a new method. This is where I struggled...I wanted to avoid blockchain and come up with some kind of practical solution, but that was looking to become a logistical nightmare. It was looking more and more like I was going to have to explore something with blockchain. I eventually managed to devise my secret word technique and proposed the idea to James.

James: "Well it's not terribly exciting is it?"

This was tough to hear, but I couldn't possibly add anything more to it... Hmm well, the only other thing I could add is identity-checking as well, but that would be too hard!! I'm already taking on blockchain I can't possibly try to do ID checks as well...

Me: "ID checks maybe? But it would be really hard to do"

James: "Yep do that, that would be exciting!"

Alright. Let's do it then.

Planning and doing the project

Do: be realistic
Don't: do a survey (unless you want to I guess)

My project involved coding up a web prototype of an electronic voting system (with self-verification and photo identification), running a survey to test the trustworthiness, submitting a poster halfway through, writing up a 16,000-word dissertation and creating a ten-minute video demonstration...phew!

I think my biggest regret was likely incorporating a survey into my project. It caused a lot of extra headaches and pain trying to get people to do it, and designing something that would suit ethics and not overly collect personal data was troubling. Learning how to deploy a web app online was a tougher feat than I expected (shout out though to Python Anywhere where you absolute gem) and getting people to fill it in was like blood out of a stone. If you're reading this and you participated in my survey - I am eternally grateful. Seriously. I was willing to pay to have my survey promoted across Facebook, but my ads got suspended and banned for being political, even though they technically were not. I was crestfallen by the end, but the notes and feedback in my survey that made me feel like "ooh yeah cool data" made it all worth it. An additional advantage was that it forced me to finish a test version of my electronic voting prototype by an earlier deadline which helped me later when the "let's do an ID check" came back to haunt me over Christmas. But I digress.

Python was the best tool possible for this project. It allowed me to do everything I needed to do (blockchain, web host, face and text recognition), plus a little HTML, CSS and JavaScript. It was amazingly exciting to put together, and it's incredible what you can do for prototyping a web application.

Overall, if you plan to do a project yourself, it will be completely unique and different. The key is to really evaluate what you are capable of and do plenty of research on what you're planning to do. Having your own opinions and original thoughts also really helps put the icing on the cake.

Finishing

Do: have people read it
Don't: submit 30 seconds before the deadline

Yeah, I dropped the ball a little towards the end. Things got stressful! Dissertation day involved crying, angry outbursts, furious typing and proofing, swearing, spitting hatred and of course no sleep. I would recommend not doing that. Big thanks to James, Alex, Amy and Wayne who all read parts of the thing at some point.

University of Liverpool

The course was a remote part-time Master's and I really enjoyed a lot of it, but I did struggle with the discussion questions and group projects. The discussion questions involved a lot of consistent commitment, often in topics I wasn't too interested in and I didn't get a ton out of them. I struggle to remember a lot of them now. Group projects-wise, we did seven in total and it was very difficult. Some people were gems, but others were quite less committed to the course which caused a lot of issues. I would also say if you have a high-intensity job or other similar stress factors in your life, a part-time Master's may not be the right call. I stretched myself to the absolute limit with this one. But if you have the passion and commitment you should go for it!

The Project

Without further ado, you can read the results of my dissertation here. And if you'd like to look at or mess around with the code you can view it at this repository as well. There is also that mid-project poster I mentioned here, and if you're a complete nerd the poster I did on e-voting as well here.
There is also a test version of the ID tool available to try out here! (This version skips the ID checks).

I've included the Abstract to my dissertation below.

ABSTRACT

EXPLORING SOLUTIONS TO INTERNET VOTING IN GOVERNMENT ELECTIONS IN THE UK

In a country of continuing digital development, why does the United Kingdom (UK) still vote using paper voting for government elections? There are many potential advantages of internet e-voting: it is convenient, fast and would potentially cost the government less (Mackenzie, 2019). However, many concerns remain as to whether a system can be secure and trustworthy. “Could the system be hacked?” “How do I know my vote will be counted?” “Will my data be safe?” Through literature appraisal, this project develops a list of required criteria for a safe vote, which, as it stands, there is no existing end-to-end solution that satisfies all criteria.

This project explores internet electronic voting (e-voting) and whether a proposed e-voting tool could be private, secure, and trustworthy. The tool includes biometric identification, blockchain voting and secret word self-verification for participants to confirm their vote is accurate. Between October and December 2023, a prototype was created, tested, and surveyed by the UK public to find its feasibility and effectiveness to satisfy the criteria for voting. The evaluation has three main themes: can e-voting be both accurate and private, does e-voting mean a less secure vote, and can both the governing body and public have two-way trust of the system.

The results find that there is potential to use blockchain as a technological solution to e-voting but there remains further development to finding a fully secure solution that is universally understood and trusted by people that may not be experts in this field. The prototype tool used is a step closer to what a system could look like in the future, but if the UK were to rollout such a system, it would need to have airtight processes sustaining trust in the system and mitigating where social doubt could be cast.

Leave a comment